package com.skt.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.skt.domain.DTO.LoginDTO;
import com.skt.domain.PO.User;
import com.skt.domain.VO.LogoutResultVO;
import com.skt.domain.VO.UserVO;

import javax.validation.Valid;

public interface AuthService extends IService<User> {

    /**
     * 注册接口
     * @param loginDTO
     * @return
     */
    UserVO register(@Valid LoginDTO loginDTO);


    /**
     * 登录接口
     * @param loginDTO
     */
    UserVO login(@Valid LoginDTO loginDTO);


    /**
     * 用户登出
     * @param logoutAllDevices
     * @return
     */
    LogoutResultVO logout(Boolean logoutAllDevices);


    /**
     * 刷新令牌
     * @param refreshToken
     * @return
     */
    UserVO refreshToken(String refreshToken);
}
